using System;
using System.Data;
namespace AppToolKit.Data
{
	public interface IDbProcessor
	{
		IDbConnection CreateConnection();
		IDbDataAdapter GetDataAdapter();
		void LoadDataSet(CommandType commandType, string commandText, ref DataSet dataSet, string[] tableNames);
		DataSet ExecuteDataSet(string storedProcedureName, params object[] parameterValues);
		DataSet ExecuteDataSet(CommandType commandType, string commandText);
		object ExecuteScalar(CommandType commandType, string commandText);
		int ExecuteNonQuery(CommandType commandType, string commandText);
		IDataReader ExecuteReader(CommandType commandType, string commandText);
		int ExecuteNonQuery(string storedProcedureName, params object[] parameterValues);
		void ExecuteReader(CommandType commandType, string commandText, ExecuteReaderCallbackWrapper warpper);
		void UpdateDataSet(string selectSql, DataSet ds);
		int ExecuteNonQuery(IDbQuery wrapper);
		DataSet ExecuteDataSet(IDbQuery wrapper);
		void ExecuteReader(IDbQuery dbQuery, ExecuteReaderCallbackWrapper callback);
		object ExecuteScalar(IDbQuery wrapper);
		ICommandBuilder GetCommandBuilder();
	}
}
